package com.cn.yunhe.rentcars.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.cn.yunhe.rentcars.model.CarOrder;


/**
 * 我要还车--还车管理
 * @author 吴银月
 */
@Mapper
public interface CarOrderMapper {
	
	
	/**
	 * 查询订单orderid	吴银月
	 */
	List<String> queryOrderId();
	/**
	 * 根据orderid查询订单信息	吴银月
	 */
	CarOrder getOrdersById(String orderid);
	/**
	 * 模糊查询订单信息		吴银月
	 */
	List<CarOrder> searchReturn(Map<String,String> params);	
	/**
	 * 根据orderid编辑订单信息	吴银月
	 */
	void editOrder(CarOrder carOrder);
	/**
	 * 根据orderid查询车辆的租期	吴银月
	 */
	int realrentday(String orderid);
	/**
	 * 根据orderid查询车辆的预计租期		吴银月
	 */
	int prerentday(String orderid);
	
	/**
	 * 根据orderid车辆的租赁费用和保险费用的总和	吴银月
	 */
	double moneysum(String orderid);
	/**
	 * 根据orderid查询未还车之前车辆的实际费用		吴银月
	 */
	double readymoneysum(String orderid);
	/**
	 * 模糊查询订单历史信息	吴银月
	 */
	List<CarOrder> searchhistory(Map<String,String> params);
	/**
	 * 在订单表中插入数据
	 */
	void addCarOrder(Map<String,String> rs);
	
	/**
	 * 获取订单表所有订单
	 */
	List<CarOrder> getAllOrders(Map<String, String> paramsMap);
	
	/**
	 * 删除单条订单
	 * @param orderid
	 */
	void delCarOrder(String orderid);
	
	/**
	 * 批量删除订单
	 */
	void delCarOrders(List<String> orderidList);
	
	/**
	 * 获取订单的具体信息
	 */
	CarOrder getCarOrderInfo(String orderid);
	
	/**
	 * 查询所有订单数量
	 */
	int getCountOrder();
	
	/**
	 * 更新订单表的支付方式，实付金额，订单状态
	 */
	void updatePayOrder(Map<String,Object> paramsMap);
	
	/**
	 * 根据订单编号查询取车门店具体地址
	 */
	String getBtrentdeptAddress(String orderid);
	
	/**
     * 根据订单编号查询还车门店具体地址
     */
    String getEtrentdeptAddress(String orderid);
    
    /**
     * 将实际收取费用更新到订单表中
     */
    void updateRealPay(Map<String,String> rs1);
	
}
